package xin.qixia.client.service;

import xin.qixia.robot.core.domain.Robot;

import java.util.Collection;
import java.util.List;

/**
 * 机器人Service接口
 *
 * @author wangkaixin
 * @date 2025-05-26
 */
public interface IRobotService {

    /**
     * 查询机器人
     *
     * @param account 主键
     * @return 机器人
     */
    Robot queryById(String account);

    /**
     * 查询符合条件的机器人列表
     *
     * @param bo 查询条件
     * @return 机器人列表
     */
    List<Robot> queryList(Robot bo);

    /**
     * 修改机器人
     *
     * @param bo 机器人
     * @return 是否修改成功
     */
    Boolean save(Robot bo);

    /**
     * 启用机器人
     *
     * @param account
     * @return
     */
    Boolean enable(String account);

    /**
     * 停用机器人
     *
     * @param account
     * @return
     */
    Boolean disable(String account);

    /**
     * 校验并批量删除机器人信息
     *
     * @param ids     待删除的主键集合
     * @param isValid 是否进行有效性校验
     * @return 是否删除成功
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}
